(use tcp srfi-18)
(load "mud-game/game_unix.scm")

(define porta 9009) ;; constante, número da porta TCP

;; Servidor:
;; Aceita conexão TCP e chama interage.
(define inicia-servidor
  (lambda ()
    (let ((socket (tcp-listen porta)))
      (let loop ()
        ;; tcp-accept aceita uma conexão e retorna duas portas,
        ;; uma de entrada e uma de saída
        (let-values (((in out) (tcp-accept socket)))
          ;; tcp-addresses devolve dois IPs -- o do servidor e
          ;; o do cliente que se conectou.
          (let-values (((meu-ip ip-dele) (tcp-addresses in)))
            ;; Comece a thread que interage:
            (thread-start! (make-thread (startgame 1 in out)))))
        
        (loop)))))

(inicia-servidor)